#include<bits/stdc++.h>
#define N 5000005
#define M 998244353
#define I 1ll
using namespace std;
int n,m,a,b;
int sq(int x){return I*x*x%M;}
int tq(int x){return I*x*x%M*x%M;}
signed main(){
	freopen("clown.in","r",stdin);
	freopen("clown.out","w",stdout);	
	int ans=0;
	scanf("%d%d%d%d",&m,&n,&a,&b);
	if(a>=3){
		ans+=I*a*(a-1)%M*(a-2)%M*b%M*b%M*b%M;
		ans%=M;
	}if(b>=3){
		ans+=I*b*(b-1)%M*(b-2)%M*a%M*a%M*a%M;
		ans%=M;
	}if(a>=2){
		ans+=I*3*a%M*(a-1)%M*b%M*b%M*(b-1)%M;
		ans%=M;
	}if(b>=2){
		ans+=I*3*b%M*(b-1)%M*a%M*(a-1)%M*a%M;
		ans%=M;
	}if(a>=2&&b>=2){
		ans-=I*3*b%M*2%M*(b-1)%M*a*(a-1)%M;
		ans=(ans%M+M)%M;
	}return !printf("%d\n",ans);
}
